package com.jq.jqaicode.common;


import com.jq.jqaicode.model.enums.HttpStatus;

/**
 * 快速构造响应结果的工具类
 */
public class ResultUtils {

    /**
     * 成功
     *
     * @param data 数据
     * @param <T>  数据类型
     * @return 响应
     */
    public static <T> BaseResponse<T> success(T data) {
        return new BaseResponse<>(200, data, "ok");
    }
    public static <T> BaseResponse<T> success(T data, String message) {
        return new BaseResponse<>(200, data, message);
    }

    /**
     * 成功
     *
     * @param <T>  数据类型
     * @return 响应
     */
    public static <T> BaseResponse<T> success(String msg) {
        return new BaseResponse<>(200, null, msg);
    }

    /**
     * 失败
     *
     * @param code    错误码
     * @param message 错误信息
     * @return 响应
     */
    public static BaseResponse<?> error(int code, String message) {
        return new BaseResponse<>(code, null, message);
    }


    /**
     * 失败
     *
     * @param message 错误信息
     * @return 响应
     */
    public static BaseResponse<?> error(String message) {
        return new BaseResponse<>(HttpStatus.ERROR, null, message);
    }


    /**
     * 自定义运行异常
     * @param msg
     * @return
     */
    public static BaseResponse<?> runError(String msg)
    {
        throw new RuntimeException(msg);
    }

}
